package sort.choose_sort;

import java.util.Arrays;

/**
 * 每次遍历找到最小的数，与左边的数交换 <br />
 * 与数组的初始状态无关, 时间复杂度恒定, 为：O(n ^ 2) <br />
 * 不稳定, 例如 2 7 2 1 -> 1 7 2 2
 *
 * @author yzh
 * @data 2021/3/24 21:42
 */
public class SimpleChoose {
    public static void main(String[] args) {
        int[] nums = {4, -1, 2, -9, 10};
        simpleChoose(nums);
        System.out.println(Arrays.toString(nums));
    }

    public static void simpleChoose(int[] nums) {
        int n = nums.length;
        for (int i = 0; i < n - 1; i++) {
            int min = i;
            for (int j = i + 1; j < n; j++) if (nums[min] > nums[j]) min = j;
            if (min != i) {
                int tmp = nums[i];
                nums[i] = nums[min];
                nums[min] = tmp;
            }
        }
    }
}
